<template>
	<view class="">
		<view class="goBack">
			<text class="gobackText" @click="goBack">
				<uni-icons type="left" size="18" color="#3E89FA"></uni-icons>
				返回
			</text>
		</view>
		<view style="background-color:#f2f2f2 ;height: 100%;">
			<view class="name">
				<image :src="list.picUrl" mode=""></image>
				<view class="info-box">
					<view class="txt">{{list.name}}</view>
					<view class="line"></view>
				</view>
				<view class="jie">
					{{list.desc}}
				</view>
			</view>
			<view class="down">
				<view class="down-item" v-for="(item,index) in swiperList" :key="index" @click="wyJumpWy(item.id)">
					<image :src="item.picUrl" mode=""></image>
					<view class="down-name">
						{{item.name}}
					</view>
					<view class="down-retailPrice">
						￥{{item.retailPrice}}
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import {
		get
	} from '@/lib/http.js';

	import categoryVue from '../category/category.vue';

	export default {
		data() {
			return {
				swiperList: [],
				id: null,
				list: {}, // 用于存储单个品牌信息
				kind: [] // 用于存储子商品信息
			};
		},
		// 接收上个页面传递过来的数
		onLoad(options) {
			// 获取传递过来的 id
			this.id = options.id;
			console.log('接收到的 id:', this.id);
			// 页面加载时获取轮播数据
			this.fetchSwiperList();
			this.fetchSwiperListse();
		},
		methods: {
			wyJumpWy(prodid){
				// 将 val 转换为 JSON 字符串
				const valStr = encodeURIComponent(JSON.stringify(prodid));
				uni.navigateTo({
					url: `/pages/detail/detail?prodid=${valStr}`
				});
			},
			category(id) {
				uni.navigateTo({
					url: `/pages/category/category?id=${id}`
				});
			},
			goBack() {
				uni.navigateBack({
					// 返回层级  如果层级没有那么多就直接跳到首页
					delta: 1
				});
			},
			// 封装错误处理函数
			handleRequestError(error, message) {
				console.error(message, error);
				uni.showToast({
					title: message,
					icon: 'none'
				});
			},
			fetchSwiperListse() {
				if (!this.id) {
					this.handleRequestError('未获取到有效的 id', '未获取到有效的 id');
					return;
				}
				// 使用 get 方法发起请求，将 id 作为查询参数传递
				get(`/wx/brand/detail?id=${this.id}`)
					.then((response) => {
						const data = response.data;
						// 检查返回的数据中是否存在 data 字段
						if (data && data.data) {
							// 更新轮播列表数据
							this.list = data.data;
							// 假设第一个数据为品牌信息，其余为子商品信息
							console.log(this.list, '轮播图');
						} else {
							this.handleRequestError('返回的数据格式错误', '数据格式错误');
						}
					})
					.catch((error) => {
						this.handleRequestError(error, '请求失败');
					});
			},
			fetchSwiperList() {
				if (!this.id) {
					this.handleRequestError('未获取到有效的 id', '未获取到有效的 id');
					return;
				}
				// 使用 get 方法发起请求，将 id 作为查询参数传递
				get(`/wx/goods/list?brandId=${this.id}`)
					.then((response) => {
						const data = response.data;
						// 检查返回的数据中是否存在 data 和 list 字段
						if (data && data.data && data.data.list) {
							// 更新轮播列表数据
							this.swiperList = data.data.list;
							// 假设第一个数据为品牌信息，其余为子商品信息
							console.log(this.swiperList, '轮播图');
						} else {
							this.handleRequestError('返回的数据格式错误', '数据格式错误');
						}
					})
					.catch((error) => {
						this.handleRequestError(error, '请求失败');
					});
			},
			three(id) {
				// 这里可以添加点击子商品的逻辑
				console.log('点击了子商品，id:', id);
				uni.navigateTo({
					url: `/pages/threePage/threePage?id=${id}`
				});
			}
		}
	};
</script>


<style>
	.gobackText {
		color: #3E89FA;
		font-size: 15px;
		display: block;
		padding: 13px;
	}

	.name {
		width: 100%;
		height: 300px;
		position: relative;
	}

	.name image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 180px;
	}

	.info-box {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 180px;
		text-align: center;
	}

	.txt {
		margin-top: 60px;
		height: 25px;
		font-size: 25px;
		color: #fff;
	}

	.line {
		margin: 0 auto;
		margin-top: 16px;
		display: block;
		height: 2px;
		width: 300px;
		background: #fff;
	}

	.price {
		height: 25px;
		font-size: 25px;
		color: #fff;
	}

	.jie {
		position: absolute;
		top: 180px;
		background: #fff;
		width: 100%;
		height: auto;
		overflow: hidden;
		padding: 30px;
		font-size: 20px;
		color: #666;
		line-height: 20px;
		text-align: center;
	}

	.down {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		padding-bottom: 30px;
	}

	.down-item {
		display: flex;
		align-items: center;
		flex-direction: column;
		width: 50%;
	}

	.down-item image {
		width: 150px;
		height: 150px;
	}

	.down-name {
		font-size: 14px;
	}

	.down-retailPrice {
		font-size: 14px;
		color: rgb(171, 149, 109);
	}
</style>